RDS for PostgreSQL メジャーバージョンアップグレード後に CPU 使用率が高くなる事象の対処方法

RDS for PostgreSQL メジャーバージョンアップグレード後に CPU 使用率が高くなる事象の対処方法

Clock Icon2021.05.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

RDS for PostgreSQL のメジャーバージョンアップグレード後に、CPU 使用率が 100 %になります。どうすれば CPU の負荷を下げることができるでしょうか?

どう対応すればいいの?

RDS for PostgreSQL メジャーバージョンアップグレード後の CPU 使用率を下げるには、ANALYZE 操作で統計情報の更新を行ってください。

PostgreSQL はメジャーバージョン更新時に統計情報が移行されません。そのため、アップグレード後の実行計画がボトルネックとなり、CPU 使用率高騰の可能性があります。

AWS ドキュメントでは、RDS PostgreSQL の DB インスタンスをアップグレードする手順が完了した後、以下の操作を実行することを推奨しています。

メジャーバージョンのアップグレードを実施する方法

メジャーバージョンのアップグレードが完了したら、次のことをお勧めします。

  • pg_statistic テーブルを更新する ANALYZE 操作を実行します。

Amazon RDS が DB エンジンアップグレードで使用する pg_upgrade ユーティリティのドキュメントでも、統計情報は転送されないことが明記されています。

Statistics
Because optimizer statistics are not transferred by pg_upgrade, you will be instructed to run a command to regenerate that information at the end of the upgrade. You might need to set connection parameters to match your new cluster.

参考資料

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.